package com.rabbitmq.receivers;

import com.rabbitmq.config.FanoutConfig;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

/**
 * 发布/订阅模式 ：一个生产者、一个 fanout 类型的交换机、多个队列、多个消费者。一个生产者发送的消息会被多个消费者获取。
 * 其中 fanout 类型就是发布订阅模式，只有订阅该生产者的消费者会收到消息
 *
 * @author 王霄
 * @date 2022/1/8 16:46
 */
@Component
public class FanoutReceiver {

    @RabbitListener(queues = FanoutConfig.QUEUE1)
    public void consume1(String message) {
        System.out.println("接收到Fanout模式队列one的消息 : " + message);
    }

    @RabbitListener(queues = FanoutConfig.QUEUE2)
    public void consume2(String message) {
        System.out.println("接收到Fanout模式队列two的消息 : " + message);
    }

}
